#pragma once

class CMyStack
{
	float *m_iStack;
	int size;
	int top;
	int max;
public:
	CMyStack(int MAX=100) : size(0), top(0),max(MAX){
		if(m_iStack)
			m_iStack = new float[MAX];
	}
	~CMyStack(void){
		if(m_iStack)
			delete m_iStack;
	}

	void push(float item){
		if(!isFull()){
			size++;
			m_iStack[top++] = item;
		}
	}
	float pop(){
		if(!isEmpty()){
			size--;
			return m_iStack[--top];
		}
		else
			return -1;
	}
	float getTop() { 
		if(!isEmpty())
			return m_iStack[top-1];
		else 
			return -1;
	}
	bool isEmpty() { return size==0; }
	bool isFull() { return size==max; }

};
